package com.fis.hlo.pm.persistence;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;


/**
 * <p>
 * Java class for settleParam complex type.
 * 
 * <p>
 * The following schema fragment specifies the expected content contained within
 * this class.
 * 
 * <pre>
 * &lt;complexType name="settleParam">
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element name="createUser" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="currency" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="currencyId" type="{http://www.w3.org/2001/XMLSchema}long" minOccurs="0"/>
 *         &lt;element name="month" type="{http://www.w3.org/2001/XMLSchema}dateTime" minOccurs="0"/>
 *         &lt;element name="resultMessage" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *         &lt;element name="settleList" type="{http://invoices.pm.hlo.fis.com/}settleResult" maxOccurs="unbounded" minOccurs="0"/>
 *       &lt;/sequence>
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "settleParam", propOrder = { "createUser", "currency",
		"currencyId", "month", "resultMessage", "settleList" })
public class SettleParam {

	protected String createUser;
	protected String currency;
	protected Long currencyId;
	@XmlSchemaType(name = "dateTime")
	protected Date month;
	protected String resultMessage;
	@XmlElement(nillable = true)
	protected List<SettleResult> settleList;

	/**
	 * Gets the value of the createUser property.
	 * 
	 * @return possible object is {@link String }
	 * 
	 */
	public String getCreateUser() {
		return createUser;
	}

	/**
	 * Sets the value of the createUser property.
	 * 
	 * @param value
	 *            allowed object is {@link String }
	 * 
	 */
	public void setCreateUser(String value) {
		this.createUser = value;
	}

	/**
	 * Gets the value of the currency property.
	 * 
	 * @return possible object is {@link String }
	 * 
	 */
	public String getCurrency() {
		return currency;
	}

	/**
	 * Sets the value of the currency property.
	 * 
	 * @param value
	 *            allowed object is {@link String }
	 * 
	 */
	public void setCurrency(String value) {
		this.currency = value;
	}

	/**
	 * Gets the value of the currencyId property.
	 * 
	 * @return possible object is {@link Long }
	 * 
	 */
	public Long getCurrencyId() {
		return currencyId;
	}

	/**
	 * Sets the value of the currencyId property.
	 * 
	 * @param value
	 *            allowed object is {@link Long }
	 * 
	 */
	public void setCurrencyId(Long value) {
		this.currencyId = value;
	}

	/**
	 * Gets the value of the month property.
	 * 
	 * @return possible object is {@link Date }
	 * 
	 */
	public Date getMonth() {
		return month;
	}

	/**
	 * Sets the value of the month property.
	 * 
	 * @param value
	 *            allowed object is {@link Date }
	 * 
	 */
	public void setMonth(Date value) {
		this.month = value;
	}

	/**
	 * Gets the value of the resultMessage property.
	 * 
	 * @return possible object is {@link String }
	 * 
	 */
	public String getResultMessage() {
		return resultMessage;
	}

	/**
	 * Sets the value of the resultMessage property.
	 * 
	 * @param value
	 *            allowed object is {@link String }
	 * 
	 */
	public void setResultMessage(String value) {
		this.resultMessage = value;
	}

	/**
	 * Gets the value of the settleList property.
	 * 
	 * <p>
	 * This accessor method returns a reference to the live list, not a
	 * snapshot. Therefore any modification you make to the returned list will
	 * be present inside the JAXB object. This is why there is not a
	 * <CODE>set</CODE> method for the settleList property.
	 * 
	 * <p>
	 * For example, to add a new item, do as follows:
	 * 
	 * <pre>
	 * getSettleList().add(newItem);
	 * </pre>
	 * 
	 * 
	 * <p>
	 * Objects of the following type(s) are allowed in the list
	 * {@link SettleResult }
	 * 
	 * 
	 */
	public List<SettleResult> getSettleList() {
		if (settleList == null) {
			settleList = new ArrayList<SettleResult>();
		}
		return this.settleList;
	}

	public void setSettleList(List<SettleResult> list) {
		this.settleList = list;
	}

}
